package cn.fl.system.service;

import cmm.mid.core.framework.page.Pager;
import cn.cmm.base.framework.exception.BaseException;
import cn.fl.system.condition.SysPgCmpDtlQueryCondition;

/**
 * @Description: 系统页面基础信息定义表 客户端服务层接口
 * 业务层方法名称前缀：
 * 新增：add*
 * 删除：remove*
 * 修改：modify*
 * 查询对象：select* get*
 * 查询集合：search*
 */
public interface ISysPgInfoService {
	/**
	 * 获取组件 如： form  grid div 等
	 * @param sysCd 系统代码
	 * @param roleId 角色ID
	 * @param orgCd 组织机构代码
	 * @param pgCd 页面代码
	 * @param cmpCd 组件Code
	 * @return 拼装好的组件
	 */
	public String getSysPgCmp(String sysCd, Long roleId, String orgCd, String pgCd, String cmpCd)throws BaseException;
	
	/**
	 * 获取单个组件明细： 如select input 等
	 * @param sysCd 系统代码
	 * @param roleIds 角色ID 集合
	 * @param orgCds 组织机构代码 集合
	 * @param pgCd 页面代码
	 * @param cmpCd 组件Code
	 * @param cmpDtlCd 组件明细Code
	 * @return 拼装好的组件明细
	 */
	public String getSysPgCmpDtl(SysPgCmpDtlQueryCondition condition)throws BaseException;
	
	/**
	 * 根据业务类型获取指定的页面字段-系统页面组件-业务关系
	 * @param sysCd 系统代码
	 * @param pgCd 页面代码
	 * @param cmpCd 页面组件代码
	 * @param pgFldNm 页面组件名称
	 * @param bizTypCd 业务类型代码
	 * @param bizCd 业务代码
	 * @return 业务关系组件
	 */
	public String getSysPgCmpDtlWithBiz(SysPgCmpDtlQueryCondition condition)throws BaseException;
	
	/**
	 * 获取系统页面分页信息
	 * @throws BaseException
	 */
	public Pager searchSysPgInfoListPage(Pager page) throws BaseException;
	
}
